﻿Public Class KOVarlot
    Inherits ObjektKO
    Public Sub New(ByVal Spieler As Integer)
        MyBase.New(Spieler, KIGabeEinsatzstellen.Beides)
        StartwerteLaden()
    End Sub
    Public Sub New(ByVal Spieler As Integer, ByVal Gabefuellstand As Integer, ByVal Gabenart As Gabemodi, ByVal neuSternkosten As Integer)
        MyBase.New(Spieler, Gabefuellstand, Gabenart, neuSternkosten, KIGabeEinsatzstellen.Beides)
        StartwerteLaden()
    End Sub

    Private Sub StartwerteLaden()
        KOID = "VARLOT"
        Armee = Armeen.DM.ToString
        Musik = "Varlot"
        Bild = GetBildID()
        Select Case DataSettings.CommanderWarsGameModus
            Case CommanderWarsGameModi.AdvanceWars
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
                Gaben(1) = Gaben(0)
            Case CommanderWarsGameModi.AdvanceWars2
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDS
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDC
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case Else
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
        End Select
        KORange = 4
        KOname = Objektverwalter.GetKO(Bild).KOBeschreibung.Name
        KOLaden()
    End Sub

    Public Overrides Sub Gabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        If OhneFunktion = False Then
            Besetzungsniedergang(5)
            BackbufferSpiel.AddAnimation("SCREENFLASH", 2, New Point, True, ObjektSpielfeld.TopLayer)
        End If
        GabeEingesetzt()
    End Sub

    Public Overrides Sub KOLaden()
        If DataSettings.CommanderWarsGameModus = CommanderWarsGameModi.AdvanceWarsDC Then
            'Dafuer sinkt die Feuerkraft aber drastisch
            WetterReichweitenbonus(0) = 0
        End If
    End Sub

    Public Overrides Sub SpezialGabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        If DataSettings.CommanderWarsGameModus = CommanderWarsGameModi.AdvanceWars Then
            If OhneFunktion = False Then
                Besetzungsniedergang(5)
                BackbufferSpiel.AddAnimation("SCREENFLASH", 2, New Point, True, ObjektSpielfeld.TopLayer)
            End If
            GabeEingesetzt()
        Else
            If OhneFunktion = False Then
                AnimationEigene("SPEZIALGABE", 2)
                Geldheilung(4, 10)
                KeineVersorgung(1)
            End If
            GabeEingesetzt()
        End If
    End Sub

    Public Overrides Function GetPowerScript(ByVal Power As Integer) As KOCustom.Power.PowerScript
        Select Case Power
            Case 0
                Dim P As New KOCustom.Power.PowerScript
                P.Effects.Add(New KOCustom.Power.PowerScript.EffectMoneyForCapturePoints(-0.05#))
                Return P
            Case 1
                Dim P As New KOCustom.Power.PowerScript
                P.Effects.Add(New KOCustom.Power.PowerScript.EffectCaptureDown(5))
                Return P
            Case 2
                Dim P As New KOCustom.Power.PowerScript
                P.Effects.Add(New KOCustom.Power.PowerScript.EffectMoneyhealing(4, 10))
                P.Effects.Add(New KOCustom.Power.PowerScript.EffectNoRation(1))
                Return P
            Case Else
                Return Nothing
        End Select
    End Function

    Public Overrides Sub KOFrame()
        WenigerEinahmendurchBesetzungszahl(-0.05#)
    End Sub
End Class

Public Class KOBeschreibungVarlot
    Inherits ObjektKOBeschreibung
    Public Sub New()
        Name = "Varlot"
        Fein = "Kaviar"
        Nein = "Moral"
        Beschreibung = New String() {"Ein skupeloser Mogul von", "Dark Matter Defense Services. Im ist", "jedes Mittelrecht solange", "es ihm nuetzt."}
        Stil = New String() {"Gegner bekommen weniger Geld", "fuer Staedte, die von", "feinden Besetzt werden."}
        Gabebeschreibung = New String() {"Gegnerische Besetzungen verlieren fuer diese Runde", "5 Punkte, dass dadurch", "verlorene Geld fliesst in", "Varlots Kasse."}
        SpezialgabeBeschreibung = New String() {"Seine Truppen erhalten 4 TP.", "Gegner muessen diese", "Reperatur bezahlen und", "koennen selber nicht", "Reparieren oder Versorgen."}
        GabeKosten = 3
        Spezialgabekosten = 4
        Gaben = New String() {"Uebernahme", "Feindlicher Aufkauf"}
        Synergie = New Decimal() {1, 2}
        KONamen = New String() {"EDWARD", "CARMEN"}
        Doppelgabenamen = New String() {"Schwarzmarkt", "Erkennbare Undurchsichtigkeit"}
        Gabesaetze = New String() {"Bewegt euch!" _
                                     , "Angriff!" _
                                     , "Vorwaerts Marsch!" _
                                     , "Auf zum Sieg!" _
                                     , "Lasst euch nicht umzingeln" _
                                     , "Auf weiter."}
        Siegsaetze = New String() {"Mission erfuellt." _
                                , "Ein weiterer Tag, eine weitere gewonnene Schlacht." _
                                , "Vielleicht komme ich fuer eine Befoerderung zurueck."}
        Tauschsaetze = New String() {"Ich werde euch nicht entkommen lassen." _
                                    , "Ich kommandiere jetzt."}
        Doppelgabesaetze = New DoppelGabesatz() {New DoppelGabesatz("EDWARD", "VARLOT", "Ich habe da ein paar Waren.", "Immer her damit man kann alles verkaufen.") _
                                              , New DoppelGabesatz("VARLOT", "EDWARD", "Ich brauche, da noch etwas", "Kein Problem im naechtlichen Nebel ist es unterwegs.") _
                                              , New DoppelGabesatz("VARLOT", "CARMEN", "Ich sehe ich habe die richtige Entscheidung mit dir getroffen.", "Ich bin immer die Richtige.") _
                                              , New DoppelGabesatz("VARLOT", "CARMEN", "Du scheinst unbemerkt entkommen zu sein.", "Planung ist alles.") _
                                              , New DoppelGabesatz("CARMEN", "VARLOT", "...umso leiser du bist umso mehr hoerst du.", "Gut gesprochen.") _
                                              , New DoppelGabesatz("CARMEN", "VARLOT", "Leider ist unser kleines Katz und Maus Spiel beendet.", "Schade! Sie waeren die Richtigen Sklaven gewesen.")}
        Niederlagesaetze = New String() {"Obwohl ihr fuer meine Reperaturen bezahlt habt, habt ihr gewonnen?", _
                                     "Nein! Ich habe alles verloren! Mein ganzes Geld."}
    End Sub
End Class
